﻿using Abp.Domain.Entities;
using Abp.Domain.Entities.Auditing;
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace OplugAbpProject.Transaction
{
    [Table("EventDetail")]
    public class EventDetail : Entity<long>, IHasCreationTime, ICreationAudited, IMayHaveTenant, IHasModificationTime
    {
        [MaxLength(50)]
        public string SysRowID { get; set; } = Guid.NewGuid().ToString();
        public DateTime CreationTime { get; set; }
        public long? CreatorUserId { get; set; }
        public DateTime? LastModificationTime { get; set; }
        public int? TenantId { get; set; }
        /// <summary>
        /// 商户ID
        /// </summary>
        public long MerchId { get; set; }
        /// <summary>
        /// 案卷号
        /// </summary>
        [Required]
        [MaxLength(50)]
        public string EventNumber { get; set; }
        /// <summary>
        /// 事件类型
        /// </summary>
        [MaxLength(20)]
        public string EventType { get; set; }
        /// <summary>
        /// 事件内容
        /// </summary>
        [Column(TypeName = "text")]
        public string EventContent { get; set; }
        /// <summary>
        /// 问题内容
        /// </summary>
        [Column(TypeName = "text")]
        public string ProblemText { get; set; }
        /// <summary>
        /// 问题截图
        /// </summary>
        [MaxLength(500)]
        public string ProblemPic { get; set; }
        /// <summary>
        /// 视频地址
        /// </summary>
        [MaxLength(500)]
        public string VedioURL { get; set; }
        /// <summary>
        /// 是否整改
        /// </summary>
        public bool Rectification { get; set; }
        /// <summary>
        /// 事务状态
        /// </summary>
        [MaxLength(8)]
        public string EventStatus { get; set; }
        /// <summary>
        /// 上一次检验人员
        /// </summary>
        public string LastInspector { get; set; }
        /// <summary>
        /// 整改日期
        /// </summary>
        public DateTime? RectificationTime { get; set; }
        /// <summary>
        /// 整改内容
        /// </summary>
        [Column(TypeName = "text")]
        public string RectificationCon { get; set; }
        /// <summary>
        /// 整改照片
        /// </summary>
        [MaxLength(500)]
        public string RectificationPic { get; set; }
    }
}
